[INFO] fetching crate tox_core 0.1.1...
[INFO] checking tox_core-0.1.1 against master#4eb62535fc12dd1a63fd43a4173e224e79313c4d for pr-158816
[INFO] extracting crate tox_core 0.1.1 into /workspace/builds/worker-6-tc1/source
[INFO] started tweaking crates.io crate tox_core 0.1.1
[INFO] finished tweaking crates.io crate tox_core 0.1.1
[INFO] tweaked toml for crates.io crate tox_core 0.1.1 written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate tox_core 0.1.1 on toolchain 4eb62535fc12dd1a63fd43a4173e224e79313c4d
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4eb62535fc12dd1a63fd43a4173e224e79313c4d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4eb62535fc12dd1a63fd43a4173e224e79313c4d" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]      Locking 94 packages to latest compatible versions
[INFO] [stderr]       Adding bitflags v1.3.2 (available: v2.13.0)
[INFO] [stderr]       Adding bytes v0.5.6 (available: v1.12.1)
[INFO] [stderr]       Adding itertools v0.9.0 (available: v0.15.0)
[INFO] [stderr]       Adding lru v0.6.6 (available: v0.18.0)
[INFO] [stderr]       Adding nom v5.1.3 (available: v8.0.0)
[INFO] [stderr]       Adding tokio v0.2.25 (available: v1.52.3)
[INFO] [stderr]       Adding tokio-util v0.3.1 (available: v0.7.18)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4eb62535fc12dd1a63fd43a4173e224e79313c4d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded tox_crypto v0.1.1
[INFO] [stderr]   Downloaded tox_packet v0.1.1
[INFO] [stderr]   Downloaded tox_binary_io v0.1.1
[INFO] [stderr]   Downloaded c_linked_list v1.1.1
[INFO] [stderr]   Downloaded tokio-macros v0.2.6
[INFO] [stderr]   Downloaded lru v0.6.6
[INFO] [stderr]   Downloaded get_if_addrs v0.5.3
[INFO] [stderr]   Downloaded get_if_addrs-sys v0.1.1
[INFO] [stderr]   Downloaded nom v5.1.3
[INFO] [stderr]   Downloaded lexical-core v0.7.6
[INFO] [stderr]   Downloaded sodiumoxide v0.2.7
[INFO] [stderr]   Downloaded libsodium-sys v0.2.7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 7171c02f2661fd33db400be4f03219be8aba183e5f9cf94f5298a349bda29493
[INFO] running `Command { std: "docker" "start" "7171c02f2661fd33db400be4f03219be8aba183e5f9cf94f5298a349bda29493", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7171c02f2661fd33db400be4f03219be8aba183e5f9cf94f5298a349bda29493", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "7171c02f2661fd33db400be4f03219be8aba183e5f9cf94f5298a349bda29493" "/opt/rustwide/cargo-home/bin/cargo" "+4eb62535fc12dd1a63fd43a4173e224e79313c4d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7171c02f2661fd33db400be4f03219be8aba183e5f9cf94f5298a349bda29493", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "7171c02f2661fd33db400be4f03219be8aba183e5f9cf94f5298a349bda29493" "/opt/rustwide/cargo-home/bin/cargo" "+4eb62535fc12dd1a63fd43a4173e224e79313c4d" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling lexical-core v0.7.6
[INFO] [stderr]     Checking signature v1.6.4
[INFO] [stderr]    Compiling object v0.37.3
[INFO] [stderr]    Compiling libsodium-sys v0.2.7
[INFO] [stderr]    Compiling nom v5.1.3
[INFO] [stderr]     Checking gimli v0.32.3
[INFO] [stderr]     Checking arrayvec v0.5.2
[INFO] [stderr]    Compiling failure_derive v0.1.8
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]     Checking rustc-demangle v0.1.28
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]     Checking pin-project-lite v0.1.12
[INFO] [stderr]     Checking bytes v0.5.6
[INFO] [stderr]     Checking ed25519 v1.5.3
[INFO] [stderr]     Checking c_linked_list v1.1.1
[INFO] [stderr]     Checking itertools v0.9.0
[INFO] [stderr]     Checking ahash v0.7.8
[INFO] [stderr]     Checking get_if_addrs v0.5.3
[INFO] [stderr]     Checking hashbrown v0.11.2
[INFO] [stderr]     Checking lru v0.6.6
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]     Checking addr2line v0.25.1
[INFO] [stderr]     Checking futures-executor v0.3.32
[INFO] [stderr]     Checking backtrace v0.3.76
[INFO] [stderr]     Checking futures v0.3.32
[INFO] [stderr]     Checking cookie-factory v0.3.3
[INFO] [stderr]    Compiling synstructure v0.12.6
[INFO] [stderr]    Compiling tokio-macros v0.2.6
[INFO] [stderr]     Checking failure v0.1.8
[INFO] [stderr]     Checking tokio v0.2.25
[INFO] [stderr]     Checking tokio-util v0.3.1
[INFO] [stderr]     Checking sodiumoxide v0.2.7
[INFO] [stderr]     Checking tox_binary_io v0.1.1
[INFO] [stderr]     Checking tox_crypto v0.1.1
[INFO] [stderr]     Checking tox_packet v0.1.1
[INFO] [stderr]     Checking tox_core v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `tox_crypto::*`
[INFO] [stdout]    --> src/relay/handshake/mod.rs:176:9
[INFO] [stdout]     |
[INFO] [stdout] 176 |     use tox_crypto::*;
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tox_crypto::*`
[INFO] [stdout]    --> src/relay/links.rs:172:9
[INFO] [stdout]     |
[INFO] [stdout] 172 |     use tox_crypto::*;
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `real_sk` and `real_pk` are never read
[INFO] [stdout]   --> src/friend_connection/mod.rs:95:5
[INFO] [stdout]    |
[INFO] [stdout] 93 | pub struct FriendConnections {
[INFO] [stdout]    |            ----------------- fields in this struct
[INFO] [stdout] 94 |     /// Our long term `SecretKey`.
[INFO] [stdout] 95 |     real_sk: SecretKey,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 96 |     /// Our long term `PublicKey`.
[INFO] [stdout] 97 |     real_pk: PublicKey,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FriendConnections` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/relay/codec.rs:17:17
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Debug, Fail)]
[INFO] [stdout]    |                 ^---
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Fail` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_DecodeError`
[INFO] [stdout] 18 | pub enum DecodeError {
[INFO] [stdout]    |          ----------- `DecodeError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/relay/codec.rs:17:17
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Debug, Fail)]
[INFO] [stdout]    |                 ^---
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Display` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_DecodeError`
[INFO] [stdout] 18 | pub enum DecodeError {
[INFO] [stdout]    |          ----------- `DecodeError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/relay/codec.rs:64:17
[INFO] [stdout]    |
[INFO] [stdout] 64 | #[derive(Debug, Fail)]
[INFO] [stdout]    |                 ^---
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Fail` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_EncodeError`
[INFO] [stdout] 65 | pub enum EncodeError {
[INFO] [stdout]    |          ----------- `EncodeError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/relay/codec.rs:64:17
[INFO] [stdout]    |
[INFO] [stdout] 64 | #[derive(Debug, Fail)]
[INFO] [stdout]    |                 ^---
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Display` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_EncodeError`
[INFO] [stdout] 65 | pub enum EncodeError {
[INFO] [stdout]    |          ----------- `EncodeError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/relay/server/server_ext.rs:31:17
[INFO] [stdout]    |
[INFO] [stdout] 31 | #[derive(Debug, Fail)]
[INFO] [stdout]    |                 ^---
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Fail` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_ServerRunError`
[INFO] [stdout] 32 | pub enum ServerRunError {
[INFO] [stdout]    |          -------------- `ServerRunError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/relay/server/server_ext.rs:31:17
[INFO] [stdout]    |
[INFO] [stdout] 31 | #[derive(Debug, Fail)]
[INFO] [stdout]    |                 ^---
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Display` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_ServerRunError`
[INFO] [stdout] 32 | pub enum ServerRunError {
[INFO] [stdout]    |          -------------- `ServerRunError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/relay/server/server_ext.rs:56:17
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[derive(Debug, Fail)]
[INFO] [stdout]    |                 ^---
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Fail` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_ConnectionError`
[INFO] [stdout] 57 | pub enum ConnectionError {
[INFO] [stdout]    |          --------------- `ConnectionError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/relay/server/server_ext.rs:56:17
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[derive(Debug, Fail)]
[INFO] [stdout]    |                 ^---
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Display` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_ConnectionError`
[INFO] [stdout] 57 | pub enum ConnectionError {
[INFO] [stdout]    |          --------------- `ConnectionError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/relay/client/errors.rs:6:43
[INFO] [stdout]   |
[INFO] [stdout] 6 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]   |                                           ^------------
[INFO] [stdout]   |                                           |
[INFO] [stdout]   |                                           `Fail` is not local
[INFO] [stdout]   |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_HandlePacketErrorKind`
[INFO] [stdout] 7 |     HandlePacketErrorKind {
[INFO] [stdout]   |     --------------------- `HandlePacketErrorKind` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/relay/client/errors.rs:6:43
[INFO] [stdout]   |
[INFO] [stdout] 6 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]   |                                           ^------------
[INFO] [stdout]   |                                           |
[INFO] [stdout]   |                                           `Display` is not local
[INFO] [stdout]   |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_HandlePacketErrorKind`
[INFO] [stdout] 7 |     HandlePacketErrorKind {
[INFO] [stdout]   |     --------------------- `HandlePacketErrorKind` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/relay/client/errors.rs:31:43
[INFO] [stdout]    |
[INFO] [stdout] 31 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]    |                                           ^------------
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Fail` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_SendPacketErrorKind`
[INFO] [stdout] 32 |     SendPacketErrorKind {
[INFO] [stdout]    |     ------------------- `SendPacketErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/relay/client/errors.rs:31:43
[INFO] [stdout]    |
[INFO] [stdout] 31 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]    |                                           ^------------
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Display` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_SendPacketErrorKind`
[INFO] [stdout] 32 |     SendPacketErrorKind {
[INFO] [stdout]    |     ------------------- `SendPacketErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/relay/client/errors.rs:56:43
[INFO] [stdout]    |
[INFO] [stdout] 56 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]    |                                           ^------------
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Fail` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_SpawnErrorKind`
[INFO] [stdout] 57 |     SpawnErrorKind {
[INFO] [stdout]    |     -------------- `SpawnErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/relay/client/errors.rs:56:43
[INFO] [stdout]    |
[INFO] [stdout] 56 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]    |                                           ^------------
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Display` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_SpawnErrorKind`
[INFO] [stdout] 57 |     SpawnErrorKind {
[INFO] [stdout]    |     -------------- `SpawnErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/relay/client/errors.rs:81:43
[INFO] [stdout]    |
[INFO] [stdout] 81 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]    |                                           ^------------
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Fail` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_ConnectionErrorKind`
[INFO] [stdout] 82 |     ConnectionErrorKind {
[INFO] [stdout]    |     ------------------- `ConnectionErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/relay/client/errors.rs:81:43
[INFO] [stdout]    |
[INFO] [stdout] 81 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]    |                                           ^------------
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Display` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_ConnectionErrorKind`
[INFO] [stdout] 82 |     ConnectionErrorKind {
[INFO] [stdout]    |     ------------------- `ConnectionErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/dht/codec.rs:24:43
[INFO] [stdout]    |
[INFO] [stdout] 24 |     #[derive(Clone, Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                           ^---
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Fail` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_DecodeErrorKind`
[INFO] [stdout] 25 |     DecodeErrorKind {
[INFO] [stdout]    |     --------------- `DecodeErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/dht/codec.rs:24:43
[INFO] [stdout]    |
[INFO] [stdout] 24 |     #[derive(Clone, Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                           ^---
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Display` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_DecodeErrorKind`
[INFO] [stdout] 25 |     DecodeErrorKind {
[INFO] [stdout]    |     --------------- `DecodeErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/dht/codec.rs:61:21
[INFO] [stdout]    |
[INFO] [stdout] 61 |     #[derive(Debug, Fail)]
[INFO] [stdout]    |                     ^---
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Fail` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_EncodeErrorKind`
[INFO] [stdout] 62 |     EncodeErrorKind {
[INFO] [stdout]    |     --------------- `EncodeErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/dht/codec.rs:61:21
[INFO] [stdout]    |
[INFO] [stdout] 61 |     #[derive(Debug, Fail)]
[INFO] [stdout]    |                     ^---
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Display` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_EncodeErrorKind`
[INFO] [stdout] 62 |     EncodeErrorKind {
[INFO] [stdout]    |     --------------- `EncodeErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/dht/server/errors.rs:11:43
[INFO] [stdout]    |
[INFO] [stdout] 11 |     #[derive(Clone, Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                           ^---
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Fail` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_HandlePacketErrorKind`
[INFO] [stdout] 12 |     HandlePacketErrorKind {
[INFO] [stdout]    |     --------------------- `HandlePacketErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/dht/server/errors.rs:11:43
[INFO] [stdout]    |
[INFO] [stdout] 11 |     #[derive(Clone, Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                           ^---
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Display` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_HandlePacketErrorKind`
[INFO] [stdout] 12 |     HandlePacketErrorKind {
[INFO] [stdout]    |     --------------------- `HandlePacketErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/dht/server/errors.rs:64:43
[INFO] [stdout]    |
[INFO] [stdout] 64 |     #[derive(Clone, Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                           ^---
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Fail` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_RunErrorKind`
[INFO] [stdout] 65 |     RunErrorKind {
[INFO] [stdout]    |     ------------ `RunErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/dht/server/errors.rs:64:43
[INFO] [stdout]    |
[INFO] [stdout] 64 |     #[derive(Clone, Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                           ^---
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Display` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_RunErrorKind`
[INFO] [stdout] 65 |     RunErrorKind {
[INFO] [stdout]    |     ------------ `RunErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/dht/server/errors.rs:77:43
[INFO] [stdout]    |
[INFO] [stdout] 77 |     #[derive(Clone, Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                           ^---
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Fail` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_PingErrorKind`
[INFO] [stdout] 78 |     PingErrorKind {
[INFO] [stdout]    |     ------------- `PingErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/dht/server/errors.rs:77:43
[INFO] [stdout]    |
[INFO] [stdout] 77 |     #[derive(Clone, Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                           ^---
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Display` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_PingErrorKind`
[INFO] [stdout] 78 |     PingErrorKind {
[INFO] [stdout]    |     ------------- `PingErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/dht/daemon_state.rs:25:43
[INFO] [stdout]    |
[INFO] [stdout] 25 |     #[derive(Clone, Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                           ^---
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Fail` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_DeserializeErrorKind`
[INFO] [stdout] 26 |     DeserializeErrorKind {
[INFO] [stdout]    |     -------------------- `DeserializeErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/dht/daemon_state.rs:25:43
[INFO] [stdout]    |
[INFO] [stdout] 25 |     #[derive(Clone, Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                           ^---
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Display` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_DeserializeErrorKind`
[INFO] [stdout] 26 |     DeserializeErrorKind {
[INFO] [stdout]    |     -------------------- `DeserializeErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/dht/lan_discovery.rs:20:36
[INFO] [stdout]    |
[INFO] [stdout] 20 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                    ^---
[INFO] [stdout]    |                                    |
[INFO] [stdout]    |                                    `Fail` is not local
[INFO] [stdout]    |                                    move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_LanDiscoveryErrorKind`
[INFO] [stdout] 21 |     LanDiscoveryErrorKind {
[INFO] [stdout]    |     --------------------- `LanDiscoveryErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/dht/lan_discovery.rs:20:36
[INFO] [stdout]    |
[INFO] [stdout] 20 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                    ^---
[INFO] [stdout]    |                                    |
[INFO] [stdout]    |                                    `Display` is not local
[INFO] [stdout]    |                                    move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_LanDiscoveryErrorKind`
[INFO] [stdout] 21 |     LanDiscoveryErrorKind {
[INFO] [stdout]    |     --------------------- `LanDiscoveryErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/onion/client/errors.rs:6:43
[INFO] [stdout]   |
[INFO] [stdout] 6 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]   |                                           ^------------
[INFO] [stdout]   |                                           |
[INFO] [stdout]   |                                           `Fail` is not local
[INFO] [stdout]   |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_HandleAnnounceResponseErrorKind`
[INFO] [stdout] 7 |     HandleAnnounceResponseErrorKind {
[INFO] [stdout]   |     ------------------------------- `HandleAnnounceResponseErrorKind` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/onion/client/errors.rs:6:43
[INFO] [stdout]   |
[INFO] [stdout] 6 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]   |                                           ^------------
[INFO] [stdout]   |                                           |
[INFO] [stdout]   |                                           `Display` is not local
[INFO] [stdout]   |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_HandleAnnounceResponseErrorKind`
[INFO] [stdout] 7 |     HandleAnnounceResponseErrorKind {
[INFO] [stdout]   |     ------------------------------- `HandleAnnounceResponseErrorKind` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/onion/client/errors.rs:31:43
[INFO] [stdout]    |
[INFO] [stdout] 31 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]    |                                           ^------------
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Fail` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_HandleDhtPkAnnounceErrorKind`
[INFO] [stdout] 32 |     HandleDhtPkAnnounceErrorKind {
[INFO] [stdout]    |     ---------------------------- `HandleDhtPkAnnounceErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/onion/client/errors.rs:31:43
[INFO] [stdout]    |
[INFO] [stdout] 31 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]    |                                           ^------------
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Display` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_HandleDhtPkAnnounceErrorKind`
[INFO] [stdout] 32 |     HandleDhtPkAnnounceErrorKind {
[INFO] [stdout]    |     ---------------------------- `HandleDhtPkAnnounceErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/onion/client/errors.rs:56:43
[INFO] [stdout]    |
[INFO] [stdout] 56 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]    |                                           ^------------
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Fail` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_HandleDataResponseErrorKind`
[INFO] [stdout] 57 |     HandleDataResponseErrorKind {
[INFO] [stdout]    |     --------------------------- `HandleDataResponseErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/onion/client/errors.rs:56:43
[INFO] [stdout]    |
[INFO] [stdout] 56 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]    |                                           ^------------
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Display` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_HandleDataResponseErrorKind`
[INFO] [stdout] 57 |     HandleDataResponseErrorKind {
[INFO] [stdout]    |     --------------------------- `HandleDataResponseErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/onion/client/errors.rs:78:43
[INFO] [stdout]    |
[INFO] [stdout] 78 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]    |                                           ^------------
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Fail` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_RunErrorKind`
[INFO] [stdout] 79 |     RunErrorKind {
[INFO] [stdout]    |     ------------ `RunErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/onion/client/errors.rs:78:43
[INFO] [stdout]    |
[INFO] [stdout] 78 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]    |                                           ^------------
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Display` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_RunErrorKind`
[INFO] [stdout] 79 |     RunErrorKind {
[INFO] [stdout]    |     ------------ `RunErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/net_crypto/errors.rs:16:36
[INFO] [stdout]    |
[INFO] [stdout] 16 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                    ^---
[INFO] [stdout]    |                                    |
[INFO] [stdout]    |                                    `Fail` is not local
[INFO] [stdout]    |                                    move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_PacketsArrayErrorKind`
[INFO] [stdout] 17 |     PacketsArrayErrorKind {
[INFO] [stdout]    |     --------------------- `PacketsArrayErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/net_crypto/errors.rs:16:36
[INFO] [stdout]    |
[INFO] [stdout] 16 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                    ^---
[INFO] [stdout]    |                                    |
[INFO] [stdout]    |                                    `Display` is not local
[INFO] [stdout]    |                                    move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_PacketsArrayErrorKind`
[INFO] [stdout] 17 |     PacketsArrayErrorKind {
[INFO] [stdout]    |     --------------------- `PacketsArrayErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/net_crypto/errors.rs:71:36
[INFO] [stdout]    |
[INFO] [stdout] 71 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                    ^---
[INFO] [stdout]    |                                    |
[INFO] [stdout]    |                                    `Fail` is not local
[INFO] [stdout]    |                                    move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_HandlePacketErrorKind`
[INFO] [stdout] 72 |     HandlePacketErrorKind {
[INFO] [stdout]    |     --------------------- `HandlePacketErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/net_crypto/errors.rs:71:36
[INFO] [stdout]    |
[INFO] [stdout] 71 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                    ^---
[INFO] [stdout]    |                                    |
[INFO] [stdout]    |                                    `Display` is not local
[INFO] [stdout]    |                                    move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_HandlePacketErrorKind`
[INFO] [stdout] 72 |     HandlePacketErrorKind {
[INFO] [stdout]    |     --------------------- `HandlePacketErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/net_crypto/errors.rs:179:36
[INFO] [stdout]     |
[INFO] [stdout] 179 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]     |                                    ^---
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    `Fail` is not local
[INFO] [stdout]     |                                    move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_SendDataErrorKind`
[INFO] [stdout] 180 |     SendDataErrorKind {
[INFO] [stdout]     |     ----------------- `SendDataErrorKind` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/net_crypto/errors.rs:179:36
[INFO] [stdout]     |
[INFO] [stdout] 179 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]     |                                    ^---
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    `Display` is not local
[INFO] [stdout]     |                                    move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_SendDataErrorKind`
[INFO] [stdout] 180 |     SendDataErrorKind {
[INFO] [stdout]     |     ----------------- `SendDataErrorKind` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/net_crypto/errors.rs:198:43
[INFO] [stdout]     |
[INFO] [stdout] 198 |     #[derive(Clone, Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]     |                                           ^---
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           `Fail` is not local
[INFO] [stdout]     |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_RunErrorKind`
[INFO] [stdout] 199 |     RunErrorKind {
[INFO] [stdout]     |     ------------ `RunErrorKind` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/net_crypto/errors.rs:198:43
[INFO] [stdout]     |
[INFO] [stdout] 198 |     #[derive(Clone, Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]     |                                           ^---
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           `Display` is not local
[INFO] [stdout]     |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_RunErrorKind`
[INFO] [stdout] 199 |     RunErrorKind {
[INFO] [stdout]     |     ------------ `RunErrorKind` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/net_crypto/errors.rs:214:36
[INFO] [stdout]     |
[INFO] [stdout] 214 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]     |                                    ^---
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    `Fail` is not local
[INFO] [stdout]     |                                    move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_SendLosslessPacketErrorKind`
[INFO] [stdout] 215 |     SendLosslessPacketErrorKind {
[INFO] [stdout]     |     --------------------------- `SendLosslessPacketErrorKind` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/net_crypto/errors.rs:214:36
[INFO] [stdout]     |
[INFO] [stdout] 214 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]     |                                    ^---
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    `Display` is not local
[INFO] [stdout]     |                                    move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_SendLosslessPacketErrorKind`
[INFO] [stdout] 215 |     SendLosslessPacketErrorKind {
[INFO] [stdout]     |     --------------------------- `SendLosslessPacketErrorKind` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/net_crypto/errors.rs:236:36
[INFO] [stdout]     |
[INFO] [stdout] 236 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]     |                                    ^---
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    `Fail` is not local
[INFO] [stdout]     |                                    move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_KillConnectionErrorKind`
[INFO] [stdout] 237 |     KillConnectionErrorKind {
[INFO] [stdout]     |     ----------------------- `KillConnectionErrorKind` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/net_crypto/errors.rs:236:36
[INFO] [stdout]     |
[INFO] [stdout] 236 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]     |                                    ^---
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    `Display` is not local
[INFO] [stdout]     |                                    move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_KillConnectionErrorKind`
[INFO] [stdout] 237 |     KillConnectionErrorKind {
[INFO] [stdout]     |     ----------------------- `KillConnectionErrorKind` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/net_crypto/errors.rs:255:36
[INFO] [stdout]     |
[INFO] [stdout] 255 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]     |                                    ^---
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    `Fail` is not local
[INFO] [stdout]     |                                    move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_SendPacketErrorKind`
[INFO] [stdout] 256 |     SendPacketErrorKind {
[INFO] [stdout]     |     ------------------- `SendPacketErrorKind` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/net_crypto/errors.rs:255:36
[INFO] [stdout]     |
[INFO] [stdout] 255 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]     |                                    ^---
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    `Display` is not local
[INFO] [stdout]     |                                    move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_SendPacketErrorKind`
[INFO] [stdout] 256 |     SendPacketErrorKind {
[INFO] [stdout]     |     ------------------- `SendPacketErrorKind` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/friend_connection/errors.rs:10:36
[INFO] [stdout]    |
[INFO] [stdout] 10 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                    ^---
[INFO] [stdout]    |                                    |
[INFO] [stdout]    |                                    `Fail` is not local
[INFO] [stdout]    |                                    move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_RemoveFriendErrorKind`
[INFO] [stdout] 11 |     RemoveFriendErrorKind {
[INFO] [stdout]    |     --------------------- `RemoveFriendErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/friend_connection/errors.rs:10:36
[INFO] [stdout]    |
[INFO] [stdout] 10 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                    ^---
[INFO] [stdout]    |                                    |
[INFO] [stdout]    |                                    `Display` is not local
[INFO] [stdout]    |                                    move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_RemoveFriendErrorKind`
[INFO] [stdout] 11 |     RemoveFriendErrorKind {
[INFO] [stdout]    |     --------------------- `RemoveFriendErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/friend_connection/errors.rs:26:36
[INFO] [stdout]    |
[INFO] [stdout] 26 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                    ^---
[INFO] [stdout]    |                                    |
[INFO] [stdout]    |                                    `Fail` is not local
[INFO] [stdout]    |                                    move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_RunErrorKind`
[INFO] [stdout] 27 |     RunErrorKind {
[INFO] [stdout]    |     ------------ `RunErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/friend_connection/errors.rs:26:36
[INFO] [stdout]    |
[INFO] [stdout] 26 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                    ^---
[INFO] [stdout]    |                                    |
[INFO] [stdout]    |                                    `Display` is not local
[INFO] [stdout]    |                                    move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_RunErrorKind`
[INFO] [stdout] 27 |     RunErrorKind {
[INFO] [stdout]    |     ------------ `RunErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/friend_connection/errors.rs:54:36
[INFO] [stdout]    |
[INFO] [stdout] 54 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                    ^---
[INFO] [stdout]    |                                    |
[INFO] [stdout]    |                                    `Fail` is not local
[INFO] [stdout]    |                                    move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_HandleShareRelaysErrorKind`
[INFO] [stdout] 55 |     HandleShareRelaysErrorKind {
[INFO] [stdout]    |     -------------------------- `HandleShareRelaysErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/friend_connection/errors.rs:54:36
[INFO] [stdout]    |
[INFO] [stdout] 54 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                    ^---
[INFO] [stdout]    |                                    |
[INFO] [stdout]    |                                    `Display` is not local
[INFO] [stdout]    |                                    move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_HandleShareRelaysErrorKind`
[INFO] [stdout] 55 |     HandleShareRelaysErrorKind {
[INFO] [stdout]    |     -------------------------- `HandleShareRelaysErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `real_sk` is never read
[INFO] [stdout]   --> src/friend_connection/mod.rs:95:5
[INFO] [stdout]    |
[INFO] [stdout] 93 | pub struct FriendConnections {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] 94 |     /// Our long term `SecretKey`.
[INFO] [stdout] 95 |     real_sk: SecretKey,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FriendConnections` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/error.rs:62:47
[INFO] [stdout]    |
[INFO] [stdout] 62 |         #[derive(Clone, Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                               ^---
[INFO] [stdout]    |                                               |
[INFO] [stdout]    |                                               `Fail` is not local
[INFO] [stdout]    |                                               move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_TestErrorKind`
[INFO] [stdout] 63 |         TestErrorKind {
[INFO] [stdout]    |         ------------- `TestErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/error.rs:62:47
[INFO] [stdout]    |
[INFO] [stdout] 62 |         #[derive(Clone, Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                               ^---
[INFO] [stdout]    |                                               |
[INFO] [stdout]    |                                               `Display` is not local
[INFO] [stdout]    |                                               move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_TestErrorKind`
[INFO] [stdout] 63 |         TestErrorKind {
[INFO] [stdout]    |         ------------- `TestErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/relay/codec.rs:17:17
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Debug, Fail)]
[INFO] [stdout]    |                 ^---
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Fail` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_DecodeError`
[INFO] [stdout] 18 | pub enum DecodeError {
[INFO] [stdout]    |          ----------- `DecodeError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/relay/codec.rs:17:17
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Debug, Fail)]
[INFO] [stdout]    |                 ^---
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Display` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_DecodeError`
[INFO] [stdout] 18 | pub enum DecodeError {
[INFO] [stdout]    |          ----------- `DecodeError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/relay/codec.rs:64:17
[INFO] [stdout]    |
[INFO] [stdout] 64 | #[derive(Debug, Fail)]
[INFO] [stdout]    |                 ^---
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Fail` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_EncodeError`
[INFO] [stdout] 65 | pub enum EncodeError {
[INFO] [stdout]    |          ----------- `EncodeError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/relay/codec.rs:64:17
[INFO] [stdout]    |
[INFO] [stdout] 64 | #[derive(Debug, Fail)]
[INFO] [stdout]    |                 ^---
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Display` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_EncodeError`
[INFO] [stdout] 65 | pub enum EncodeError {
[INFO] [stdout]    |          ----------- `EncodeError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/relay/server/server_ext.rs:31:17
[INFO] [stdout]    |
[INFO] [stdout] 31 | #[derive(Debug, Fail)]
[INFO] [stdout]    |                 ^---
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Fail` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_ServerRunError`
[INFO] [stdout] 32 | pub enum ServerRunError {
[INFO] [stdout]    |          -------------- `ServerRunError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/relay/server/server_ext.rs:31:17
[INFO] [stdout]    |
[INFO] [stdout] 31 | #[derive(Debug, Fail)]
[INFO] [stdout]    |                 ^---
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Display` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_ServerRunError`
[INFO] [stdout] 32 | pub enum ServerRunError {
[INFO] [stdout]    |          -------------- `ServerRunError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/relay/server/server_ext.rs:56:17
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[derive(Debug, Fail)]
[INFO] [stdout]    |                 ^---
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Fail` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_ConnectionError`
[INFO] [stdout] 57 | pub enum ConnectionError {
[INFO] [stdout]    |          --------------- `ConnectionError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/relay/server/server_ext.rs:56:17
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[derive(Debug, Fail)]
[INFO] [stdout]    |                 ^---
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Display` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_ConnectionError`
[INFO] [stdout] 57 | pub enum ConnectionError {
[INFO] [stdout]    |          --------------- `ConnectionError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/relay/client/errors.rs:6:43
[INFO] [stdout]   |
[INFO] [stdout] 6 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]   |                                           ^------------
[INFO] [stdout]   |                                           |
[INFO] [stdout]   |                                           `Fail` is not local
[INFO] [stdout]   |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_HandlePacketErrorKind`
[INFO] [stdout] 7 |     HandlePacketErrorKind {
[INFO] [stdout]   |     --------------------- `HandlePacketErrorKind` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/relay/client/errors.rs:6:43
[INFO] [stdout]   |
[INFO] [stdout] 6 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]   |                                           ^------------
[INFO] [stdout]   |                                           |
[INFO] [stdout]   |                                           `Display` is not local
[INFO] [stdout]   |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_HandlePacketErrorKind`
[INFO] [stdout] 7 |     HandlePacketErrorKind {
[INFO] [stdout]   |     --------------------- `HandlePacketErrorKind` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/relay/client/errors.rs:31:43
[INFO] [stdout]    |
[INFO] [stdout] 31 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]    |                                           ^------------
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Fail` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_SendPacketErrorKind`
[INFO] [stdout] 32 |     SendPacketErrorKind {
[INFO] [stdout]    |     ------------------- `SendPacketErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/relay/client/errors.rs:31:43
[INFO] [stdout]    |
[INFO] [stdout] 31 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]    |                                           ^------------
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Display` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_SendPacketErrorKind`
[INFO] [stdout] 32 |     SendPacketErrorKind {
[INFO] [stdout]    |     ------------------- `SendPacketErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/relay/client/errors.rs:56:43
[INFO] [stdout]    |
[INFO] [stdout] 56 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]    |                                           ^------------
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Fail` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_SpawnErrorKind`
[INFO] [stdout] 57 |     SpawnErrorKind {
[INFO] [stdout]    |     -------------- `SpawnErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/relay/client/errors.rs:56:43
[INFO] [stdout]    |
[INFO] [stdout] 56 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]    |                                           ^------------
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Display` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_SpawnErrorKind`
[INFO] [stdout] 57 |     SpawnErrorKind {
[INFO] [stdout]    |     -------------- `SpawnErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/relay/client/errors.rs:81:43
[INFO] [stdout]    |
[INFO] [stdout] 81 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]    |                                           ^------------
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Fail` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_ConnectionErrorKind`
[INFO] [stdout] 82 |     ConnectionErrorKind {
[INFO] [stdout]    |     ------------------- `ConnectionErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/relay/client/errors.rs:81:43
[INFO] [stdout]    |
[INFO] [stdout] 81 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]    |                                           ^------------
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Display` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_ConnectionErrorKind`
[INFO] [stdout] 82 |     ConnectionErrorKind {
[INFO] [stdout]    |     ------------------- `ConnectionErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/dht/codec.rs:24:43
[INFO] [stdout]    |
[INFO] [stdout] 24 |     #[derive(Clone, Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                           ^---
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Fail` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_DecodeErrorKind`
[INFO] [stdout] 25 |     DecodeErrorKind {
[INFO] [stdout]    |     --------------- `DecodeErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/dht/codec.rs:24:43
[INFO] [stdout]    |
[INFO] [stdout] 24 |     #[derive(Clone, Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                           ^---
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Display` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_DecodeErrorKind`
[INFO] [stdout] 25 |     DecodeErrorKind {
[INFO] [stdout]    |     --------------- `DecodeErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/dht/codec.rs:61:21
[INFO] [stdout]    |
[INFO] [stdout] 61 |     #[derive(Debug, Fail)]
[INFO] [stdout]    |                     ^---
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Fail` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_EncodeErrorKind`
[INFO] [stdout] 62 |     EncodeErrorKind {
[INFO] [stdout]    |     --------------- `EncodeErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/dht/codec.rs:61:21
[INFO] [stdout]    |
[INFO] [stdout] 61 |     #[derive(Debug, Fail)]
[INFO] [stdout]    |                     ^---
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Display` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_EncodeErrorKind`
[INFO] [stdout] 62 |     EncodeErrorKind {
[INFO] [stdout]    |     --------------- `EncodeErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/dht/server/errors.rs:11:43
[INFO] [stdout]    |
[INFO] [stdout] 11 |     #[derive(Clone, Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                           ^---
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Fail` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_HandlePacketErrorKind`
[INFO] [stdout] 12 |     HandlePacketErrorKind {
[INFO] [stdout]    |     --------------------- `HandlePacketErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/dht/server/errors.rs:11:43
[INFO] [stdout]    |
[INFO] [stdout] 11 |     #[derive(Clone, Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                           ^---
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Display` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_HandlePacketErrorKind`
[INFO] [stdout] 12 |     HandlePacketErrorKind {
[INFO] [stdout]    |     --------------------- `HandlePacketErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/dht/server/errors.rs:64:43
[INFO] [stdout]    |
[INFO] [stdout] 64 |     #[derive(Clone, Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                           ^---
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Fail` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_RunErrorKind`
[INFO] [stdout] 65 |     RunErrorKind {
[INFO] [stdout]    |     ------------ `RunErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/dht/server/errors.rs:64:43
[INFO] [stdout]    |
[INFO] [stdout] 64 |     #[derive(Clone, Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                           ^---
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Display` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_RunErrorKind`
[INFO] [stdout] 65 |     RunErrorKind {
[INFO] [stdout]    |     ------------ `RunErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/dht/server/errors.rs:77:43
[INFO] [stdout]    |
[INFO] [stdout] 77 |     #[derive(Clone, Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                           ^---
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Fail` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_PingErrorKind`
[INFO] [stdout] 78 |     PingErrorKind {
[INFO] [stdout]    |     ------------- `PingErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/dht/server/errors.rs:77:43
[INFO] [stdout]    |
[INFO] [stdout] 77 |     #[derive(Clone, Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                           ^---
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Display` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_PingErrorKind`
[INFO] [stdout] 78 |     PingErrorKind {
[INFO] [stdout]    |     ------------- `PingErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/dht/daemon_state.rs:25:43
[INFO] [stdout]    |
[INFO] [stdout] 25 |     #[derive(Clone, Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                           ^---
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Fail` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_DeserializeErrorKind`
[INFO] [stdout] 26 |     DeserializeErrorKind {
[INFO] [stdout]    |     -------------------- `DeserializeErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/dht/daemon_state.rs:25:43
[INFO] [stdout]    |
[INFO] [stdout] 25 |     #[derive(Clone, Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                           ^---
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Display` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_DeserializeErrorKind`
[INFO] [stdout] 26 |     DeserializeErrorKind {
[INFO] [stdout]    |     -------------------- `DeserializeErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/dht/lan_discovery.rs:20:36
[INFO] [stdout]    |
[INFO] [stdout] 20 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                    ^---
[INFO] [stdout]    |                                    |
[INFO] [stdout]    |                                    `Fail` is not local
[INFO] [stdout]    |                                    move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_LanDiscoveryErrorKind`
[INFO] [stdout] 21 |     LanDiscoveryErrorKind {
[INFO] [stdout]    |     --------------------- `LanDiscoveryErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/dht/lan_discovery.rs:20:36
[INFO] [stdout]    |
[INFO] [stdout] 20 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                    ^---
[INFO] [stdout]    |                                    |
[INFO] [stdout]    |                                    `Display` is not local
[INFO] [stdout]    |                                    move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_LanDiscoveryErrorKind`
[INFO] [stdout] 21 |     LanDiscoveryErrorKind {
[INFO] [stdout]    |     --------------------- `LanDiscoveryErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/onion/client/errors.rs:6:43
[INFO] [stdout]   |
[INFO] [stdout] 6 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]   |                                           ^------------
[INFO] [stdout]   |                                           |
[INFO] [stdout]   |                                           `Fail` is not local
[INFO] [stdout]   |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_HandleAnnounceResponseErrorKind`
[INFO] [stdout] 7 |     HandleAnnounceResponseErrorKind {
[INFO] [stdout]   |     ------------------------------- `HandleAnnounceResponseErrorKind` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/onion/client/errors.rs:6:43
[INFO] [stdout]   |
[INFO] [stdout] 6 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]   |                                           ^------------
[INFO] [stdout]   |                                           |
[INFO] [stdout]   |                                           `Display` is not local
[INFO] [stdout]   |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_HandleAnnounceResponseErrorKind`
[INFO] [stdout] 7 |     HandleAnnounceResponseErrorKind {
[INFO] [stdout]   |     ------------------------------- `HandleAnnounceResponseErrorKind` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/onion/client/errors.rs:31:43
[INFO] [stdout]    |
[INFO] [stdout] 31 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]    |                                           ^------------
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Fail` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_HandleDhtPkAnnounceErrorKind`
[INFO] [stdout] 32 |     HandleDhtPkAnnounceErrorKind {
[INFO] [stdout]    |     ---------------------------- `HandleDhtPkAnnounceErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/onion/client/errors.rs:31:43
[INFO] [stdout]    |
[INFO] [stdout] 31 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]    |                                           ^------------
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Display` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_HandleDhtPkAnnounceErrorKind`
[INFO] [stdout] 32 |     HandleDhtPkAnnounceErrorKind {
[INFO] [stdout]    |     ---------------------------- `HandleDhtPkAnnounceErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/onion/client/errors.rs:56:43
[INFO] [stdout]    |
[INFO] [stdout] 56 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]    |                                           ^------------
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Fail` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_HandleDataResponseErrorKind`
[INFO] [stdout] 57 |     HandleDataResponseErrorKind {
[INFO] [stdout]    |     --------------------------- `HandleDataResponseErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/onion/client/errors.rs:56:43
[INFO] [stdout]    |
[INFO] [stdout] 56 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]    |                                           ^------------
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Display` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_HandleDataResponseErrorKind`
[INFO] [stdout] 57 |     HandleDataResponseErrorKind {
[INFO] [stdout]    |     --------------------------- `HandleDataResponseErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/onion/client/errors.rs:78:43
[INFO] [stdout]    |
[INFO] [stdout] 78 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]    |                                           ^------------
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Fail` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_RunErrorKind`
[INFO] [stdout] 79 |     RunErrorKind {
[INFO] [stdout]    |     ------------ `RunErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/onion/client/errors.rs:78:43
[INFO] [stdout]    |
[INFO] [stdout] 78 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]    |                                           ^------------
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Display` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_RunErrorKind`
[INFO] [stdout] 79 |     RunErrorKind {
[INFO] [stdout]    |     ------------ `RunErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/net_crypto/errors.rs:16:36
[INFO] [stdout]    |
[INFO] [stdout] 16 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                    ^---
[INFO] [stdout]    |                                    |
[INFO] [stdout]    |                                    `Fail` is not local
[INFO] [stdout]    |                                    move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_PacketsArrayErrorKind`
[INFO] [stdout] 17 |     PacketsArrayErrorKind {
[INFO] [stdout]    |     --------------------- `PacketsArrayErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/net_crypto/errors.rs:16:36
[INFO] [stdout]    |
[INFO] [stdout] 16 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                    ^---
[INFO] [stdout]    |                                    |
[INFO] [stdout]    |                                    `Display` is not local
[INFO] [stdout]    |                                    move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_PacketsArrayErrorKind`
[INFO] [stdout] 17 |     PacketsArrayErrorKind {
[INFO] [stdout]    |     --------------------- `PacketsArrayErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/net_crypto/errors.rs:71:36
[INFO] [stdout]    |
[INFO] [stdout] 71 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                    ^---
[INFO] [stdout]    |                                    |
[INFO] [stdout]    |                                    `Fail` is not local
[INFO] [stdout]    |                                    move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_HandlePacketErrorKind`
[INFO] [stdout] 72 |     HandlePacketErrorKind {
[INFO] [stdout]    |     --------------------- `HandlePacketErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/net_crypto/errors.rs:71:36
[INFO] [stdout]    |
[INFO] [stdout] 71 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                    ^---
[INFO] [stdout]    |                                    |
[INFO] [stdout]    |                                    `Display` is not local
[INFO] [stdout]    |                                    move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_HandlePacketErrorKind`
[INFO] [stdout] 72 |     HandlePacketErrorKind {
[INFO] [stdout]    |     --------------------- `HandlePacketErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/net_crypto/errors.rs:179:36
[INFO] [stdout]     |
[INFO] [stdout] 179 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]     |                                    ^---
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    `Fail` is not local
[INFO] [stdout]     |                                    move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_SendDataErrorKind`
[INFO] [stdout] 180 |     SendDataErrorKind {
[INFO] [stdout]     |     ----------------- `SendDataErrorKind` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/net_crypto/errors.rs:179:36
[INFO] [stdout]     |
[INFO] [stdout] 179 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]     |                                    ^---
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    `Display` is not local
[INFO] [stdout]     |                                    move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_SendDataErrorKind`
[INFO] [stdout] 180 |     SendDataErrorKind {
[INFO] [stdout]     |     ----------------- `SendDataErrorKind` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/net_crypto/errors.rs:198:43
[INFO] [stdout]     |
[INFO] [stdout] 198 |     #[derive(Clone, Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]     |                                           ^---
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           `Fail` is not local
[INFO] [stdout]     |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_RunErrorKind`
[INFO] [stdout] 199 |     RunErrorKind {
[INFO] [stdout]     |     ------------ `RunErrorKind` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/net_crypto/errors.rs:198:43
[INFO] [stdout]     |
[INFO] [stdout] 198 |     #[derive(Clone, Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]     |                                           ^---
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           `Display` is not local
[INFO] [stdout]     |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_RunErrorKind`
[INFO] [stdout] 199 |     RunErrorKind {
[INFO] [stdout]     |     ------------ `RunErrorKind` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/net_crypto/errors.rs:214:36
[INFO] [stdout]     |
[INFO] [stdout] 214 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]     |                                    ^---
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    `Fail` is not local
[INFO] [stdout]     |                                    move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_SendLosslessPacketErrorKind`
[INFO] [stdout] 215 |     SendLosslessPacketErrorKind {
[INFO] [stdout]     |     --------------------------- `SendLosslessPacketErrorKind` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/net_crypto/errors.rs:214:36
[INFO] [stdout]     |
[INFO] [stdout] 214 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]     |                                    ^---
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    `Display` is not local
[INFO] [stdout]     |                                    move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_SendLosslessPacketErrorKind`
[INFO] [stdout] 215 |     SendLosslessPacketErrorKind {
[INFO] [stdout]     |     --------------------------- `SendLosslessPacketErrorKind` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/net_crypto/errors.rs:236:36
[INFO] [stdout]     |
[INFO] [stdout] 236 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]     |                                    ^---
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    `Fail` is not local
[INFO] [stdout]     |                                    move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_KillConnectionErrorKind`
[INFO] [stdout] 237 |     KillConnectionErrorKind {
[INFO] [stdout]     |     ----------------------- `KillConnectionErrorKind` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/net_crypto/errors.rs:236:36
[INFO] [stdout]     |
[INFO] [stdout] 236 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]     |                                    ^---
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    `Display` is not local
[INFO] [stdout]     |                                    move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_KillConnectionErrorKind`
[INFO] [stdout] 237 |     KillConnectionErrorKind {
[INFO] [stdout]     |     ----------------------- `KillConnectionErrorKind` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/net_crypto/errors.rs:255:36
[INFO] [stdout]     |
[INFO] [stdout] 255 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]     |                                    ^---
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    `Fail` is not local
[INFO] [stdout]     |                                    move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_SendPacketErrorKind`
[INFO] [stdout] 256 |     SendPacketErrorKind {
[INFO] [stdout]     |     ------------------- `SendPacketErrorKind` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/net_crypto/errors.rs:255:36
[INFO] [stdout]     |
[INFO] [stdout] 255 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]     |                                    ^---
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    `Display` is not local
[INFO] [stdout]     |                                    move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_SendPacketErrorKind`
[INFO] [stdout] 256 |     SendPacketErrorKind {
[INFO] [stdout]     |     ------------------- `SendPacketErrorKind` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/friend_connection/errors.rs:10:36
[INFO] [stdout]    |
[INFO] [stdout] 10 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                    ^---
[INFO] [stdout]    |                                    |
[INFO] [stdout]    |                                    `Fail` is not local
[INFO] [stdout]    |                                    move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_RemoveFriendErrorKind`
[INFO] [stdout] 11 |     RemoveFriendErrorKind {
[INFO] [stdout]    |     --------------------- `RemoveFriendErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/friend_connection/errors.rs:10:36
[INFO] [stdout]    |
[INFO] [stdout] 10 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                    ^---
[INFO] [stdout]    |                                    |
[INFO] [stdout]    |                                    `Display` is not local
[INFO] [stdout]    |                                    move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_RemoveFriendErrorKind`
[INFO] [stdout] 11 |     RemoveFriendErrorKind {
[INFO] [stdout]    |     --------------------- `RemoveFriendErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/friend_connection/errors.rs:26:36
[INFO] [stdout]    |
[INFO] [stdout] 26 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                    ^---
[INFO] [stdout]    |                                    |
[INFO] [stdout]    |                                    `Fail` is not local
[INFO] [stdout]    |                                    move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_RunErrorKind`
[INFO] [stdout] 27 |     RunErrorKind {
[INFO] [stdout]    |     ------------ `RunErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/friend_connection/errors.rs:26:36
[INFO] [stdout]    |
[INFO] [stdout] 26 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                    ^---
[INFO] [stdout]    |                                    |
[INFO] [stdout]    |                                    `Display` is not local
[INFO] [stdout]    |                                    move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_RunErrorKind`
[INFO] [stdout] 27 |     RunErrorKind {
[INFO] [stdout]    |     ------------ `RunErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/friend_connection/errors.rs:54:36
[INFO] [stdout]    |
[INFO] [stdout] 54 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                    ^---
[INFO] [stdout]    |                                    |
[INFO] [stdout]    |                                    `Fail` is not local
[INFO] [stdout]    |                                    move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_HandleShareRelaysErrorKind`
[INFO] [stdout] 55 |     HandleShareRelaysErrorKind {
[INFO] [stdout]    |     -------------------------- `HandleShareRelaysErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/friend_connection/errors.rs:54:36
[INFO] [stdout]    |
[INFO] [stdout] 54 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                    ^---
[INFO] [stdout]    |                                    |
[INFO] [stdout]    |                                    `Display` is not local
[INFO] [stdout]    |                                    move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_HandleShareRelaysErrorKind`
[INFO] [stdout] 55 |     HandleShareRelaysErrorKind {
[INFO] [stdout]    |     -------------------------- `HandleShareRelaysErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 24s
[INFO] running `Command { std: "docker" "inspect" "7171c02f2661fd33db400be4f03219be8aba183e5f9cf94f5298a349bda29493", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7171c02f2661fd33db400be4f03219be8aba183e5f9cf94f5298a349bda29493", kill_on_drop: false }`
[INFO] [stdout] 7171c02f2661fd33db400be4f03219be8aba183e5f9cf94f5298a349bda29493
